using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Infragistics.Win;
using Infragistics.Win.UltraWinGrid;

using Gratamira.CapaNegocio;

namespace Gratamira.Presentacion
{
    public partial class frmConTipoMov : frmBaseConsulta, IBaseConsulta
    {
        public TipoMovimiento tipoMovimientoSeleccionado;
        private claseMovimiento _ClaseMovimiento;

        #region Constructores

        public frmConTipoMov(claseMovimiento pTipoMovimiento, string pAdministrador)
        {
            InitializeComponent();
            try
            {
                tipoMovimientoSeleccionado = new TipoMovimiento(base.dsGridDatos);
                configurarGrid();
                base.Administrador = pAdministrador;
                ClaseMovimiento = pTipoMovimiento;
                this.Text = Usuario.Empresa + " - Consulta de Tipo de Movimiento";
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error al iniciar la pantalla : " + ex.Message);
            }
        }

        #endregion


        public claseMovimiento ClaseMovimiento
        {
            get
            {
                return _ClaseMovimiento;
            }
            set
            {
                _ClaseMovimiento = value;
            }
        }

        public override void consultar()
        {
            campoFiltro opcion;
            if (base.ddlFiltrar.SelectedItem.ToString() == "Nombre")
            {
                opcion = campoFiltro.Nombre;
            }
            else
            {
                opcion = campoFiltro.ID;
            }
            tipoMovimientoSeleccionado.leerTipoMovimiento(base.txtValor.Text, opcion, base.dsGridDatos);
            base.grdValores.Focus();
            base.lblMensaje.Text = "Cantidad de valores consultados: " + base.grdValores.Rows.Count;
        }

        public override void verDetalle()
        {
            string tTipo = base.grdValores.ActiveRow.Cells[0].Value.ToString();
            frmMaeTipoMov pantalla = new frmMaeTipoMov(tTipo, estadoPantalla.Consultar);
            pantalla.ShowDialog();
        }

        public override void asignarValor()
        {
            tipoMovimientoSeleccionado.TipoMovID = base.grdValores.ActiveRow.Cells[0].Value.ToString();
            tipoMovimientoSeleccionado.Nombre = base.grdValores.ActiveRow.Cells[1].Value.ToString();
            this.Close();
        }

        public override void borrarRegistro()
        {
            TipoMovimiento tTipo = new TipoMovimiento();
            tTipo.eliminarTipoMovimiento(base.grdValores.ActiveRow.Cells[0].Value.ToString());
            base.grdValores.ActiveRow.Delete(false);
        }

        public override void insertarRegistro()
        {
            frmMaeTipoMov pantalla = new frmMaeTipoMov("",estadoPantalla.Insertar);
            pantalla.ShowDialog();
        }

        public override void llenarDatosCombo()
        {
            base.ddlFiltrar.Items.Add("Nombre");
            base.ddlFiltrar.Items.Add("Codigo");
            base.ddlFiltrar.SelectedIndex = 0;
        }
        private void configurarGrid()
        {
            //Dar formato al grid banda 0 - Producto
            UltraGridBand banda0 = base.grdValores.DisplayLayout.Bands["TipoMov"];
            banda0.Columns["ID"].Width = 70;
            banda0.Columns["Nombre"].Width = 200;
            banda0.Columns["Tipo"].Width = 100;
        }

    }
}